package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 压力专题对象 dispatchPressureSpecialSubject
 * 
 * @author ruoyi
 * @date 2025-03-02
 */
public class DispatchPressureSpecialSubject extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 压力专题编号 */
    private Long pressureSpecialSubjectId;

    /** 监测点 ID */
    @Excel(name = "监测点 ID")
    private Long monitoringPointId;

    /** 数据采集时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "数据采集时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date monitoringTime;

    /** 时间维度 */
    @Excel(name = "时间维度")
    private String timeDimension;

    /** 压力值 */
    @Excel(name = "压力值")
    private BigDecimal pressureValue;

    /** 是否压力合格 */
    @Excel(name = "是否压力合格")
    private Integer isPressureQualified;

    /** 1 小时压力振幅 */
    @Excel(name = "1 小时压力振幅")
    private BigDecimal oneHourPressureAmplitude;

    /** 压力告警次数 */
    @Excel(name = "压力告警次数")
    private Long pressureAlarmCount;

    /** 压力告警持续时间 */
    @Excel(name = "压力告警持续时间")
    private Long pressureAlarmDuration;

    /** 压力告警开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "压力告警开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date alarmStartTime;

    /** 创建人 */
    @Excel(name = "创建人")
    private String creator;

    /** 更新人 */
    @Excel(name = "更新人")
    private String updater;

    /** 压力告警结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "压力告警结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date alarmEndTime;

    public void setPressureSpecialSubjectId(Long pressureSpecialSubjectId) 
    {
        this.pressureSpecialSubjectId = pressureSpecialSubjectId;
    }

    public Long getPressureSpecialSubjectId() 
    {
        return pressureSpecialSubjectId;
    }
    public void setMonitoringPointId(Long monitoringPointId) 
    {
        this.monitoringPointId = monitoringPointId;
    }

    public Long getMonitoringPointId() 
    {
        return monitoringPointId;
    }
    public void setMonitoringTime(Date monitoringTime) 
    {
        this.monitoringTime = monitoringTime;
    }

    public Date getMonitoringTime() 
    {
        return monitoringTime;
    }
    public void setTimeDimension(String timeDimension) 
    {
        this.timeDimension = timeDimension;
    }

    public String getTimeDimension() 
    {
        return timeDimension;
    }
    public void setPressureValue(BigDecimal pressureValue) 
    {
        this.pressureValue = pressureValue;
    }

    public BigDecimal getPressureValue() 
    {
        return pressureValue;
    }
    public void setIsPressureQualified(Integer isPressureQualified) 
    {
        this.isPressureQualified = isPressureQualified;
    }

    public Integer getIsPressureQualified() 
    {
        return isPressureQualified;
    }
    public void setOneHourPressureAmplitude(BigDecimal oneHourPressureAmplitude) 
    {
        this.oneHourPressureAmplitude = oneHourPressureAmplitude;
    }

    public BigDecimal getOneHourPressureAmplitude() 
    {
        return oneHourPressureAmplitude;
    }
    public void setPressureAlarmCount(Long pressureAlarmCount) 
    {
        this.pressureAlarmCount = pressureAlarmCount;
    }

    public Long getPressureAlarmCount() 
    {
        return pressureAlarmCount;
    }
    public void setPressureAlarmDuration(Long pressureAlarmDuration) 
    {
        this.pressureAlarmDuration = pressureAlarmDuration;
    }

    public Long getPressureAlarmDuration() 
    {
        return pressureAlarmDuration;
    }
    public void setAlarmStartTime(Date alarmStartTime) 
    {
        this.alarmStartTime = alarmStartTime;
    }

    public Date getAlarmStartTime() 
    {
        return alarmStartTime;
    }
    public void setCreator(String creator) 
    {
        this.creator = creator;
    }

    public String getCreator() 
    {
        return creator;
    }
    public void setUpdater(String updater) 
    {
        this.updater = updater;
    }

    public String getUpdater() 
    {
        return updater;
    }
    public void setAlarmEndTime(Date alarmEndTime) 
    {
        this.alarmEndTime = alarmEndTime;
    }

    public Date getAlarmEndTime() 
    {
        return alarmEndTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("pressureSpecialSubjectId", getPressureSpecialSubjectId())
            .append("monitoringPointId", getMonitoringPointId())
            .append("monitoringTime", getMonitoringTime())
            .append("timeDimension", getTimeDimension())
            .append("pressureValue", getPressureValue())
            .append("isPressureQualified", getIsPressureQualified())
            .append("oneHourPressureAmplitude", getOneHourPressureAmplitude())
            .append("pressureAlarmCount", getPressureAlarmCount())
            .append("pressureAlarmDuration", getPressureAlarmDuration())
            .append("alarmStartTime", getAlarmStartTime())
            .append("createTime", getCreateTime())
            .append("creator", getCreator())
            .append("updater", getUpdater())
            .append("updateTime", getUpdateTime())
            .append("alarmEndTime", getAlarmEndTime())
            .toString();
    }
}
